package com.beverages.orders.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
@TableName("orders")
public class Orders {
    private static final long serialVersionUID = 1L;

    //主键
    @TableId(type = IdType.AUTO)
    private Integer id;

    //奶茶id
    private Integer milkteaId;

    //顾客id
    private Integer customerId;

    /**
     *糖度
     * 4为全糖（regular sugar）
     * 3为四分之三糖（less sugar）
     * 2为半糖（half sugar），
     * 1为四分之一糖（a quarter sugar）
     * 0为无糖（sugar-free）
     */
    private Integer sugarLevel;

    /**
     *冰度
     * 2为正常冰（regular ice）
     * 1为少冰（less ice）
     * 0为无冰（ice-free）
     */
    private Integer iceLevel;

    /**
     *小料：
     * 		1：珍珠（boba），1元
     * 		2：椰果（coconut jelly），2元
     * 		3：布丁（pudding），2元
     * 		4：红豆（red beans），1元
     * 		5：绿茶冻（green tea jelly），2元
     * 		6：西米（sago），3元
     * 		7：芋圆（tarot balls），3元
     * 		8：燕麦（oatmeal），2元
     * 		9：果冻（jelly）。1元
     * 	不同小料用逗号分隔。如：一个用户加了椰果、布丁，则该字段值为 2,3
     * 	值为null表示不加小料。
     */
    private String toppings;

    //下单时间
    private Date orderTime;

    /**
     *1表示已下单（submitted）
     * 0表示已撤单（cancelled），撤单同时退款
     */
    private Integer orderStatus;

    /**
     * 0:待制作;
     * 1:准备制作;
     * 2:制作中;
     * 3:制作完成.
     */
    private Integer completionStatus;

    private Date completionTime;

    /**
     *取物状态：
     * 1表示已取
     * 0表示未取
     */
    private Integer placeStatus;

    /**
     *置物格号：
     * 0代表未上架。
     * 同一订单点多杯奶茶会占用不同的置物格，
     * 不同置物格号用逗号分隔。
     * 客户取走后置为0。
     */
    private String holderIds;

    /**
     *订单编号
     * 114+顾客id+奶茶id+数量+下单时间+514，
     * 如：顾客id为2，奶茶id为3，数量为1，下单时间为2022-03-22 21:29:55，
     * 则订单编号表示为11423120220322212955514 .
     * 用户可以通过订单编号查询到对应订单的信息。
     */
    private String orderNumber;

    //奶茶数量
    private Integer count;

    //总价
    private BigDecimal totalPrice;
}

